Un oggetto App FeaturePython, o formalmente un
App::FeaturePython
, è una semplice istanza di App DocumentObject in Python.
Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio non ha un posizionamento o una forma topologica. A seconda delle proprietà che gli vengono assegnate, può essere utilizzato per gestire diverse tipologie di dati.
Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD
Un App FeaturePython è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.
Per esempio, gli oggetti Testo, Dimensione, e Piano di lavoro proxy di Draft sono oggetti App::FeaturePython
oggetti con un'icona personalizzata e proprietà aggiuntive. Conservano i dati ma non sono in effetti Part TopoShape.
Se l'oggetto desiderato deve avere un posizionamento, una forma, un allegato o altre proprietà complesse, è meglio creare una delle classi più complesse, ad esempio, App GeoFeature, Part Feature, o Part Part2DObject.
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
L'oggetto App FeaturePython (classe App::FeaturePython
) è derivato dall'oggetto base App DocumentObject (classe App::DocumentObject
) ed eredita tutte le sue proprietà. Ha inoltre diverse proprietà aggiuntive.
Queste sono le proprietà disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate usando il comando Mostra tutto nel menu contestuale dell'editor delle proprietà.
Base
PythonObject
): una classe personalizzata associata a questo oggetto.String
): il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.String
): una descrizione più lunga e modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria che può includere nuove righe. Per impostazione predefinita, è una stringa vuota ""
.ExpressionEngine
): un elenco di espressioni. Per impostazione predefinita, è vuota []
.Bool
): se visualizzare o no l'oggetto.
Base
PythonObject
): una classe viewprovider personalizzata associata a questo oggetto.Display Options
Enumeration
): di default è vuota.Bool
): il valore predefinito è true
, nel qual caso l'oggetto appare nella vista ad albero; in caso contrario, l'oggetto è nascosto nella vista struttura. Quando un oggetto nell'albero è invisibile, si può di nuovo enderlo visibile aprendo il menu contestuale sul nome del documento (clic destro) e selezionando true
.Bool
): il valore predefinito è true
, nel qual caso l'oggetto è visibile nella vista 3D se ha una Forma, altrimenti è invisibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata selezionando l'oggetto e premendo la barra Spazio sulla tastiera.Selection
Enumeration
): controlla il modo in cui avviene la selezione nella vista 3D se l'oggetto ha una Forma e ci sono oggetti parzialmente coperti da altri. Il valore predefinito è Disabled
, il che significa che non si verifica alcuna evidenziazione speciale; Enabled
significa che l'oggetto appare sopra qualsiasi altro oggetto quando selezionato; Object
significa che l'oggetto appare in primo piano solo se l'intero oggetto è selezionato nella vista ad albero; Element
significa che l'oggetto appare in primo piano solo se un sottoelemento (vertice, bordo, faccia) è selezionato in vista 3D.Enumeration
): controlla il modo in cui l'oggetto è evidenziato se ha una Forma. Se è Shape
, l'intera forma (vertici, bordi e facce) è evidenziata nella vista 3D; se è BoundBox
viene evidenziato un riquadro di delimitazione che circonda l'oggetto.
Vedere anche: Script di base per FreeCAD, e script di oggetti.
Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al documento.
Una App FeaturePython viene creata con il metodo addObject()
del documento
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::FeaturePython", "Name")
obj.Label = "Custom label"